// components/epsoide/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    //小程序框架给这个下面的Number做了特殊处理，所以Number表示类型
    index: {//属性中的类型不能在业务中改变
      type: Number,
      observer: function (newVal, oldVal, changedPath) {
        //observer在this.setData后执行，所以不要在这个函数内改变该属性值会陷入无限递归，内存溢出
        // console.log(newVal)
        // console.log(oldVal)
        // console.log(changedPath)
        let val = newVal<10?'0'+newVal:newVal
        this.setData({
          _index: val
        })
      }
    }
  },

  /**
   * 组件的初始数据
   */
  data: {//data中数据类型可以在业务中改变
    //Number与String在JavaScript中默认表示为函数，data下Number没有做特殊处理，Number表示一个内置函数Number()
    // year: Number,
    // month: String
    months: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],
    year: 0,
    month: '',
    _index: ''
  },

  attached() {
    //小程序框架会把this.properties与this.data合并在一起，指向同一个对象（JavaScript对象）
    //因此，data{}与properties{}下面的属性名不要相同；properties{}里面的属性会覆盖data{}里的数据
    // console.log(this.properties)
    // console.log(this.data)
    let date = new Date()
    let year = date.getFullYear()
    let month = date.getMonth()
    this.setData({
      year: year,
      month: this.data.months[month]
    })
  },
  /**
   * 组件的方法列表
   */
  methods: {

  }
})